﻿using APP.HELPER.Data.Helper;
using DevExpress.XtraEditors;
using HRM.CORE.CLASS;
using System; using Extra.ERP;
using System.ComponentModel;
using System.Data;
using System.Data.SqlClient;
using System.Drawing;
using System.IO;
using System.Windows.Forms; using Common;

namespace HRM.CORE
{
    public class HRM_CANDIDATE
    {
        private DateTime m_Birthday;
        private string m_BirthPlace;
        private string m_CandidateCode;
        private string m_CellPhone;
        private string m_ContactAddress;
        private string m_Description;
        private string m_Education;
        private string m_Email;
        private string m_Ethnic;
        private decimal m_ExpectSalary;
        private string m_Experience;
        private string m_FirstName;
        private string m_Health;
        private double m_Height;
        private string m_HomePhone;
        private string m_IDCard;
        private DateTime m_IDCardDate;
        private string m_IDCardPlace;
        private string m_Informatic;
        private DateTime m_InputFileDate;
        private string m_Job;
        private string m_Language;
        private string m_LastName;
        private string m_MainAddress;
        private string m_Marriage;
        private string m_Nationality;
        private string m_PersonAddress;
        private string m_PersonJob;
        private string m_PersonName;
        private string m_PersonPhone;
        private Image m_Photo;
        private string m_Position1;
        private string m_Position2;
        private string m_Professional;
        private string m_RecruitmentCode;
        private string m_Religion;
        private bool m_Sex;
        private int m_Status;
        private double m_Weight;

        public HRM_CANDIDATE()
        {
            this.m_CandidateCode = "";
            this.m_RecruitmentCode = "";
            this.m_FirstName = "";
            this.m_LastName = "";
            this.m_Marriage = "";
            this.m_Sex = true;
            this.m_Birthday = DateTime.Now;
            this.m_BirthPlace = "";
            this.m_MainAddress = "";
            this.m_ContactAddress = "";
            this.m_CellPhone = "";
            this.m_HomePhone = "";
            this.m_Email = "";
            this.m_Nationality = "";
            this.m_Ethnic = "";
            this.m_Religion = "";
            this.m_Language = "";
            this.m_Informatic = "";
            this.m_Professional = "";
            this.m_Education = "";
            this.m_Job = "";
            this.m_IDCard = "";
            this.m_IDCardDate = DateTime.Now;
            this.m_IDCardPlace = "";
            this.m_Health = "";
            this.m_Height = 0.0;
            this.m_Weight = 0.0;
            this.m_Experience = "";
            this.m_InputFileDate = DateTime.Now;
            this.m_Position1 = "";
            this.m_Position2 = "";
            this.m_ExpectSalary = 0M;
            this.m_Status = 0;
            this.m_PersonName = "";
            this.m_PersonPhone = "";
            this.m_PersonAddress = "";
            this.m_PersonJob = "";
            this.m_Description = "";
        }

        public HRM_CANDIDATE(string CandidateCode, string RecruitmentCode, string FirstName, string LastName, string Marriage, bool Sex, DateTime Birthday, string BirthPlace, string MainAddress, string ContactAddress, string CellPhone, string HomePhone, string Email, string Nationality, string Ethnic, string Religion, string Language, string Informatic, string Professional, string Education, string Job, string IDCard, DateTime IDCardDate, string IDCardPlace, string Health, double Height, double Weight, string Experience, DateTime InputFileDate, string Position1, string Position2, decimal ExpectSalary, int Status, string PersonName, string PersonPhone, string PersonAddress, string PersonJob, string Description)
        {
            this.m_CandidateCode = CandidateCode;
            this.m_RecruitmentCode = RecruitmentCode;
            this.m_FirstName = FirstName;
            this.m_LastName = LastName;
            this.m_Marriage = Marriage;
            this.m_Sex = Sex;
            this.m_Birthday = Birthday;
            this.m_BirthPlace = BirthPlace;
            this.m_MainAddress = MainAddress;
            this.m_ContactAddress = ContactAddress;
            this.m_CellPhone = CellPhone;
            this.m_HomePhone = HomePhone;
            this.m_Email = Email;
            this.m_Nationality = Nationality;
            this.m_Ethnic = Ethnic;
            this.m_Religion = Religion;
            this.m_Language = Language;
            this.m_Informatic = Informatic;
            this.m_Professional = Professional;
            this.m_Education = Education;
            this.m_Job = Job;
            this.m_IDCard = IDCard;
            this.m_IDCardDate = IDCardDate;
            this.m_IDCardPlace = IDCardPlace;
            this.m_Health = Health;
            this.m_Height = Height;
            this.m_Weight = Weight;
            this.m_Experience = Experience;
            this.m_InputFileDate = InputFileDate;
            this.m_Position1 = Position1;
            this.m_Position2 = Position2;
            this.m_ExpectSalary = ExpectSalary;
            this.m_Status = Status;
            this.m_PersonName = PersonName;
            this.m_PersonPhone = PersonPhone;
            this.m_PersonAddress = PersonAddress;
            this.m_PersonJob = PersonJob;
            this.m_Description = Description;
        }

        public string Delete()
        {
            string[] myParams = new string[] { "@CandidateCode" };
            object[] myValues = new object[] { this.m_CandidateCode };
            SqlHelper helper = new SqlHelper();
            return helper.ExecuteNonQuery("HRM_CANDIDATE_Delete", myParams, myValues);
        }

        public string Delete(string CandidateCode)
        {
            string[] myParams = new string[] { "@CandidateCode" };
            object[] myValues = new object[] { CandidateCode };
            SqlHelper helper = new SqlHelper();
            return helper.ExecuteNonQuery("HRM_CANDIDATE_Delete", myParams, myValues);
        }

        public string Delete(SqlConnection myConnection, string CandidateCode)
        {
            string[] myParams = new string[] { "@CandidateCode" };
            object[] myValues = new object[] { CandidateCode };
            SqlHelper helper = new SqlHelper();
            return helper.ExecuteNonQuery(myConnection, "HRM_CANDIDATE_Delete", myParams, myValues);
        }

        public string Delete(SqlTransaction myTransaction, string CandidateCode)
        {
            string[] myParams = new string[] { "@CandidateCode" };
            object[] myValues = new object[] { CandidateCode };
            SqlHelper helper = new SqlHelper();
            return helper.ExecuteNonQuery(myTransaction, "HRM_CANDIDATE_Delete", myParams, myValues);
        }

        private void DispError(object sender, SqlHelperException e)
        {
            XtraMessageBox.Show(e.Message, "Th\x00f4ng B\x00e1o", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
        }

        public bool Exist(string CandidateCode)
        {
            bool hasRows = false;
            string[] myParams = new string[] { "@CandidateCode" };
            object[] myValues = new object[] { CandidateCode };
            SqlHelper helper = new SqlHelper();
            SqlDataReader reader = helper.ExecuteReader("HRM_Candidate_Get", myParams, myValues);
            if (reader != null)
            {
                hasRows = reader.HasRows;
                reader.Close();
                helper.Close();
                reader = null;
            }
            return hasRows;
        }

        public string Get(string CandidateCode)
        {
            string str = "";
            string[] myParams = new string[] { "@CandidateCode" };
            object[] myValues = new object[] { CandidateCode };
            SqlHelper helper = new SqlHelper();
            SqlDataReader reader = helper.ExecuteReader("HRM_CANDIDATE_Get", myParams, myValues);
            if (reader != null)
            {
                while (reader.Read())
                {
                    this.m_CandidateCode = Convert.ToString(reader["CandidateCode"]);
                    this.m_RecruitmentCode = Convert.ToString(reader["RecruitmentCode"]);
                    this.m_FirstName = Convert.ToString(reader["FirstName"]);
                    this.m_LastName = Convert.ToString(reader["LastName"]);
                    this.m_Marriage = Convert.ToString(reader["Marriage"]);
                    this.m_Sex = Convert.ToBoolean(reader["Sex"]);
                    this.m_Birthday = Convert.ToDateTime(reader["Birthday"]);
                    this.m_BirthPlace = Convert.ToString(reader["BirthPlace"]);
                    this.m_MainAddress = Convert.ToString(reader["MainAddress"]);
                    this.m_ContactAddress = Convert.ToString(reader["ContactAddress"]);
                    this.m_CellPhone = Convert.ToString(reader["CellPhone"]);
                    this.m_HomePhone = Convert.ToString(reader["HomePhone"]);
                    this.m_Email = Convert.ToString(reader["Email"]);
                    this.m_Nationality = Convert.ToString(reader["Nationality"]);
                    this.m_Ethnic = Convert.ToString(reader["Ethnic"]);
                    this.m_Religion = Convert.ToString(reader["Religion"]);
                    this.m_Language = Convert.ToString(reader["Language"]);
                    this.m_Informatic = Convert.ToString(reader["Informatic"]);
                    this.m_Professional = Convert.ToString(reader["Professional"]);
                    this.m_Education = Convert.ToString(reader["Education"]);
                    this.m_Job = Convert.ToString(reader["Job"]);
                    this.m_IDCard = Convert.ToString(reader["IDCard"]);
                    this.m_IDCardDate = Convert.ToDateTime(reader["IDCardDate"]);
                    this.m_IDCardPlace = Convert.ToString(reader["IDCardPlace"]);
                    this.m_Health = Convert.ToString(reader["Health"]);
                    this.m_Height = Convert.ToDouble(reader["Height"]);
                    this.m_Weight = Convert.ToDouble(reader["Weight"]);
                    this.m_Experience = Convert.ToString(reader["Experience"]);
                    this.m_InputFileDate = Convert.ToDateTime(reader["InputFileDate"]);
                    this.m_Position1 = Convert.ToString(reader["Position1"]);
                    this.m_Position2 = Convert.ToString(reader["Position2"]);
                    this.m_ExpectSalary = Convert.ToDecimal(reader["ExpectSalary"]);
                    this.m_Status = Convert.ToInt32(reader["Status"]);
                    this.m_PersonName = Convert.ToString(reader["PersonName"]);
                    this.m_PersonPhone = Convert.ToString(reader["PersonPhone"]);
                    this.m_PersonAddress = Convert.ToString(reader["PersonAddress"]);
                    this.m_PersonJob = Convert.ToString(reader["PersonJob"]);
                    this.m_Description = Convert.ToString(reader["Description"]);
                    if (!reader.IsDBNull(reader.GetOrdinal("Photo")) && (reader["Photo"] != Convert.DBNull))
                    {
                        byte[] buffer = (byte[]) reader["Photo"];
                        if (buffer.Length != 2)
                        {
                            MemoryStream stream = new MemoryStream(buffer);
                            this.m_Photo = Image.FromStream(stream);
                        }
                        if (buffer.Length == 2)
                        {
                            this.m_Photo = null;
                        }
                    }
                    str = "OK";
                }
                reader.Close();
                helper.Close();
                reader = null;
            }
            return str;
        }

        public string Get(SqlConnection myConnection, string CandidateCode)
        {
            string str = "";
            string[] myParams = new string[] { "@CandidateCode" };
            object[] myValues = new object[] { CandidateCode };
            SqlHelper helper = new SqlHelper();
            SqlDataReader reader = helper.ExecuteReader(myConnection, "HRM_CANDIDATE_Get", myParams, myValues);
            if (reader != null)
            {
                while (reader.Read())
                {
                    this.m_CandidateCode = Convert.ToString(reader["CandidateCode"]);
                    this.m_RecruitmentCode = Convert.ToString(reader["RecruitmentCode"]);
                    this.m_FirstName = Convert.ToString(reader["FirstName"]);
                    this.m_LastName = Convert.ToString(reader["LastName"]);
                    this.m_Marriage = Convert.ToString(reader["Marriage"]);
                    this.m_Sex = Convert.ToBoolean(reader["Sex"]);
                    this.m_Birthday = Convert.ToDateTime(reader["Birthday"]);
                    this.m_BirthPlace = Convert.ToString(reader["BirthPlace"]);
                    this.m_MainAddress = Convert.ToString(reader["MainAddress"]);
                    this.m_ContactAddress = Convert.ToString(reader["ContactAddress"]);
                    this.m_CellPhone = Convert.ToString(reader["CellPhone"]);
                    this.m_HomePhone = Convert.ToString(reader["HomePhone"]);
                    this.m_Email = Convert.ToString(reader["Email"]);
                    this.m_Nationality = Convert.ToString(reader["Nationality"]);
                    this.m_Ethnic = Convert.ToString(reader["Ethnic"]);
                    this.m_Religion = Convert.ToString(reader["Religion"]);
                    this.m_Language = Convert.ToString(reader["Language"]);
                    this.m_Informatic = Convert.ToString(reader["Informatic"]);
                    this.m_Professional = Convert.ToString(reader["Professional"]);
                    this.m_Education = Convert.ToString(reader["Education"]);
                    this.m_Job = Convert.ToString(reader["Job"]);
                    this.m_IDCard = Convert.ToString(reader["IDCard"]);
                    this.m_IDCardDate = Convert.ToDateTime(reader["IDCardDate"]);
                    this.m_IDCardPlace = Convert.ToString(reader["IDCardPlace"]);
                    this.m_Health = Convert.ToString(reader["Health"]);
                    this.m_Height = Convert.ToDouble(reader["Height"]);
                    this.m_Weight = Convert.ToDouble(reader["Weight"]);
                    this.m_Experience = Convert.ToString(reader["Experience"]);
                    this.m_InputFileDate = Convert.ToDateTime(reader["InputFileDate"]);
                    this.m_Position1 = Convert.ToString(reader["Position1"]);
                    this.m_Position2 = Convert.ToString(reader["Position2"]);
                    this.m_ExpectSalary = Convert.ToDecimal(reader["ExpectSalary"]);
                    this.m_Status = Convert.ToInt32(reader["Status"]);
                    this.m_PersonName = Convert.ToString(reader["PersonName"]);
                    this.m_PersonPhone = Convert.ToString(reader["PersonPhone"]);
                    this.m_PersonAddress = Convert.ToString(reader["PersonAddress"]);
                    this.m_PersonJob = Convert.ToString(reader["PersonJob"]);
                    this.m_Description = Convert.ToString(reader["Description"]);
                    if (!reader.IsDBNull(reader.GetOrdinal("Photo")) && (reader["Photo"] != Convert.DBNull))
                    {
                        byte[] buffer = (byte[]) reader["Photo"];
                        if (buffer.Length != 2)
                        {
                            MemoryStream stream = new MemoryStream(buffer);
                            this.m_Photo = Image.FromStream(stream);
                        }
                        if (buffer.Length == 2)
                        {
                            this.m_Photo = null;
                        }
                    }
                    str = "OK";
                }
                reader.Close();
                helper.Close();
                reader = null;
            }
            return str;
        }

        public string Get(SqlTransaction myTransaction, string CandidateCode)
        {
            string[] myParams = new string[] { "@CandidateCode" };
            object[] myValues = new object[] { CandidateCode };
            SqlHelper helper = new SqlHelper();
            SqlDataReader reader = helper.ExecuteReader(myTransaction, "HRM_CANDIDATE_Get", myParams, myValues);
            if (reader != null)
            {
                while (reader.Read())
                {
                    this.m_CandidateCode = Convert.ToString(reader["CandidateCode"]);
                    this.m_RecruitmentCode = Convert.ToString(reader["RecruitmentCode"]);
                    this.m_FirstName = Convert.ToString(reader["FirstName"]);
                    this.m_LastName = Convert.ToString(reader["LastName"]);
                    this.m_Marriage = Convert.ToString(reader["Marriage"]);
                    this.m_Sex = Convert.ToBoolean(reader["Sex"]);
                    this.m_Birthday = Convert.ToDateTime(reader["Birthday"]);
                    this.m_BirthPlace = Convert.ToString(reader["BirthPlace"]);
                    this.m_MainAddress = Convert.ToString(reader["MainAddress"]);
                    this.m_ContactAddress = Convert.ToString(reader["ContactAddress"]);
                    this.m_CellPhone = Convert.ToString(reader["CellPhone"]);
                    this.m_HomePhone = Convert.ToString(reader["HomePhone"]);
                    this.m_Email = Convert.ToString(reader["Email"]);
                    this.m_Nationality = Convert.ToString(reader["Nationality"]);
                    this.m_Ethnic = Convert.ToString(reader["Ethnic"]);
                    this.m_Religion = Convert.ToString(reader["Religion"]);
                    this.m_Language = Convert.ToString(reader["Language"]);
                    this.m_Informatic = Convert.ToString(reader["Informatic"]);
                    this.m_Professional = Convert.ToString(reader["Professional"]);
                    this.m_Education = Convert.ToString(reader["Education"]);
                    this.m_Job = Convert.ToString(reader["Job"]);
                    this.m_IDCard = Convert.ToString(reader["IDCard"]);
                    this.m_IDCardDate = Convert.ToDateTime(reader["IDCardDate"]);
                    this.m_IDCardPlace = Convert.ToString(reader["IDCardPlace"]);
                    this.m_Health = Convert.ToString(reader["Health"]);
                    this.m_Height = Convert.ToDouble(reader["Height"]);
                    this.m_Weight = Convert.ToDouble(reader["Weight"]);
                    this.m_Experience = Convert.ToString(reader["Experience"]);
                    this.m_InputFileDate = Convert.ToDateTime(reader["InputFileDate"]);
                    this.m_Position1 = Convert.ToString(reader["Position1"]);
                    this.m_Position2 = Convert.ToString(reader["Position2"]);
                    this.m_ExpectSalary = Convert.ToDecimal(reader["ExpectSalary"]);
                    this.m_Status = Convert.ToInt32(reader["Status"]);
                    this.m_PersonName = Convert.ToString(reader["PersonName"]);
                    this.m_PersonPhone = Convert.ToString(reader["PersonPhone"]);
                    this.m_PersonAddress = Convert.ToString(reader["PersonAddress"]);
                    this.m_PersonJob = Convert.ToString(reader["PersonJob"]);
                    this.m_Description = Convert.ToString(reader["Description"]);
                    if (!reader.IsDBNull(reader.GetOrdinal("Photo")) && (reader["Photo"] != Convert.DBNull))
                    {
                        byte[] buffer = (byte[]) reader["Photo"];
                        if (buffer.Length != 2)
                        {
                            MemoryStream stream = new MemoryStream(buffer);
                            this.m_Photo = Image.FromStream(stream);
                        }
                        if (buffer.Length == 2)
                        {
                            this.m_Photo = null;
                        }
                    }
                }
                reader.Close();
                helper.Close();
                reader = null;
            }
            return "";
        }

        public DataTable GetList(string RecruitmentCode, int IndexKey)
        {
            string[] myParams = new string[] { "@RecruitmentCode", "@IndexKey" };
            object[] myValues = new object[] { RecruitmentCode, IndexKey };
            SqlHelper helper = new SqlHelper();
            return helper.ExecuteDataTable("HRM_CANDIDATE_GetList", myParams, myValues);
        }

        public DataTable GetListByRecruitment()
        {
            string[] myParams = new string[] { "@CandidateCode" };
            object[] myValues = new object[] { this.CandidateCode };
            SqlHelper helper = new SqlHelper();
            return helper.ExecuteDataTable("HRM_CANDIDATE_GetListByRecruitment", myParams, myValues);
        }

        public string Insert()
        {
            string[] myParams = new string[] { 
                "@CandidateCode", "@RecruitmentCode", "@FirstName", "@LastName", "@Marriage", "@Sex", "@Birthday", "@BirthPlace", "@MainAddress", "@ContactAddress", "@CellPhone", "@HomePhone", "@Email", "@Nationality", "@Ethnic", "@Religion", 
                "@Language", "@Informatic", "@Professional", "@Education", "@Job", "@IDCard", "@IDCardDate", "@IDCardPlace", "@Health", "@Height", "@Weight", "@Experience", "@InputFileDate", "@Position1", "@Position2", "@ExpectSalary", 
                "@Status", "@PersonName", "@PersonPhone", "@PersonAddress", "@PersonJob", "@Description"
             };
            object[] myValues = new object[] { 
                this.m_CandidateCode, this.m_RecruitmentCode, this.m_FirstName, this.m_LastName, this.m_Marriage, this.m_Sex, this.m_Birthday, this.m_BirthPlace, this.m_MainAddress, this.m_ContactAddress, this.m_CellPhone, this.m_HomePhone, this.m_Email, this.m_Nationality, this.m_Ethnic, this.m_Religion, 
                this.m_Language, this.m_Informatic, this.m_Professional, this.m_Education, this.m_Job, this.m_IDCard, this.m_IDCardDate, this.m_IDCardPlace, this.m_Health, this.m_Height, this.m_Weight, this.m_Experience, this.m_InputFileDate, this.m_Position1, this.m_Position2, this.m_ExpectSalary, 
                this.m_Status, this.m_PersonName, this.m_PersonPhone, this.m_PersonAddress, this.m_PersonJob, this.m_Description
             };
            SqlHelper helper = new SqlHelper();
            return helper.ExecuteNonQuery("HRM_Candidate_Insert", myParams, myValues);
        }

        public string Insert(SqlTransaction myTransaction)
        {
            string[] myParams = new string[] { 
                "@CandidateCode", "@RecruitmentCode", "@FirstName", "@LastName", "@Marriage", "@Sex", "@Birthday", "@BirthPlace", "@MainAddress", "@ContactAddress", "@CellPhone", "@HomePhone", "@Email", "@Nationality", "@Ethnic", "@Religion", 
                "@Language", "@Informatic", "@Professional", "@Education", "@Job", "@IDCard", "@IDCardDate", "@IDCardPlace", "@Health", "@Height", "@Weight", "@Experience", "@InputFileDate", "@Position1", "@Position2", "@ExpectSalary", 
                "@Status", "@PersonName", "@PersonPhone", "@PersonAddress", "@PersonJob", "@Description"
             };
            object[] myValues = new object[] { 
                this.m_CandidateCode, this.m_RecruitmentCode, this.m_FirstName, this.m_LastName, this.m_Marriage, this.m_Sex, this.m_Birthday, this.m_BirthPlace, this.m_MainAddress, this.m_ContactAddress, this.m_CellPhone, this.m_HomePhone, this.m_Email, this.m_Nationality, this.m_Ethnic, this.m_Religion, 
                this.m_Language, this.m_Informatic, this.m_Professional, this.m_Education, this.m_Job, this.m_IDCard, this.m_IDCardDate, this.m_IDCardPlace, this.m_Health, this.m_Height, this.m_Weight, this.m_Experience, this.m_InputFileDate, this.m_Position1, this.m_Position2, this.m_ExpectSalary, 
                this.m_Status, this.m_PersonName, this.m_PersonPhone, this.m_PersonAddress, this.m_PersonJob, this.m_Description
             };
            SqlHelper helper = new SqlHelper();
            return helper.ExecuteNonQuery(myTransaction, "HRM_Candidate_Insert", myParams, myValues);
        }

        public string Insert(string CandidateCode, string RecruitmentCode, string FirstName, string LastName, string Marriage, bool Sex, DateTime Birthday, string BirthPlace, string MainAddress, string ContactAddress, string CellPhone, string HomePhone, string Email, string Nationality, string Ethnic, string Religion, string Language, string Informatic, string Professional, string Education, string Job, string IDCard, DateTime IDCardDate, string IDCardPlace, string Health, double Height, double Weight, string Experience, DateTime InputFileDate, string Position1, string Position2, decimal ExpectSalary, int Status, string PersonName, string PersonPhone, string PersonAddress, string PersonJob, string Description)
        {
            string[] myParams = new string[] { 
                "@CandidateCode", "@RecruitmentCode", "@FirstName", "@LastName", "@Marriage", "@Sex", "@Birthday", "@BirthPlace", "@MainAddress", "@ContactAddress", "@CellPhone", "@HomePhone", "@Email", "@Nationality", "@Ethnic", "@Religion", 
                "@Language", "@Informatic", "@Professional", "@Education", "@Job", "@IDCard", "@IDCardDate", "@IDCardPlace", "@Health", "@Height", "@Weight", "@Experience", "@InputFileDate", "@Position1", "@Position2", "@ExpectSalary", 
                "@Status", "@PersonName", "@PersonPhone", "@PersonAddress", "@PersonJob", "@Description"
             };
            object[] myValues = new object[] { 
                CandidateCode, RecruitmentCode, FirstName, LastName, Marriage, Sex, Birthday, BirthPlace, MainAddress, ContactAddress, CellPhone, HomePhone, Email, Nationality, Ethnic, Religion, 
                Language, Informatic, Professional, Education, Job, IDCard, IDCardDate, IDCardPlace, Health, Height, Weight, Experience, InputFileDate, Position1, Position2, ExpectSalary, 
                Status, PersonName, PersonPhone, PersonAddress, PersonJob, Description
             };
            SqlHelper helper = new SqlHelper();
            return helper.ExecuteNonQuery("HRM_Candidate_Insert", myParams, myValues);
        }

        public string Insert(SqlConnection myConnection, string CandidateCode, string RecruitmentCode, string FirstName, string LastName, string Marriage, bool Sex, DateTime Birthday, string BirthPlace, string MainAddress, string ContactAddress, string CellPhone, string HomePhone, string Email, string Nationality, string Ethnic, string Religion, string Language, string Informatic, string Professional, string Education, string Job, string IDCard, DateTime IDCardDate, string IDCardPlace, string Health, double Height, double Weight, string Experience, DateTime InputFileDate, string Position1, string Position2, decimal ExpectSalary, int Status, string PersonName, string PersonPhone, string PersonAddress, string PersonJob, string Description)
        {
            string[] myParams = new string[] { 
                "@CandidateCode", "@RecruitmentCode", "@FirstName", "@LastName", "@Marriage", "@Sex", "@Birthday", "@BirthPlace", "@MainAddress", "@ContactAddress", "@CellPhone", "@HomePhone", "@Email", "@Nationality", "@Ethnic", "@Religion", 
                "@Language", "@Informatic", "@Professional", "@Education", "@Job", "@IDCard", "@IDCardDate", "@IDCardPlace", "@Health", "@Height", "@Weight", "@Experience", "@InputFileDate", "@Position1", "@Position2", "@ExpectSalary", 
                "@Status", "@PersonName", "@PersonPhone", "@PersonAddress", "@PersonJob", "@Description"
             };
            object[] myValues = new object[] { 
                CandidateCode, RecruitmentCode, FirstName, LastName, Marriage, Sex, Birthday, BirthPlace, MainAddress, ContactAddress, CellPhone, HomePhone, Email, Nationality, Ethnic, Religion, 
                Language, Informatic, Professional, Education, Job, IDCard, IDCardDate, IDCardPlace, Health, Height, Weight, Experience, InputFileDate, Position1, Position2, ExpectSalary, 
                Status, PersonName, PersonPhone, PersonAddress, PersonJob, Description
             };
            SqlHelper helper = new SqlHelper();
            return helper.ExecuteNonQuery(myConnection, "HRM_Candidate_Insert", myParams, myValues);
        }

        public string Insert(SqlTransaction myTransaction, string CandidateCode, string RecruitmentCode, string FirstName, string LastName, string Marriage, bool Sex, DateTime Birthday, string BirthPlace, string MainAddress, string ContactAddress, string CellPhone, string HomePhone, string Email, string Nationality, string Ethnic, string Religion, string Language, string Informatic, string Professional, string Education, string Job, string IDCard, DateTime IDCardDate, string IDCardPlace, string Health, double Height, double Weight, string Experience, DateTime InputFileDate, string Position1, string Position2, decimal ExpectSalary, int Status, string PersonName, string PersonPhone, string PersonAddress, string PersonJob, string Description)
        {
            string[] myParams = new string[] { 
                "@CandidateCode", "@RecruitmentCode", "@FirstName", "@LastName", "@Marriage", "@Sex", "@Birthday", "@BirthPlace", "@MainAddress", "@ContactAddress", "@CellPhone", "@HomePhone", "@Email", "@Nationality", "@Ethnic", "@Religion", 
                "@Language", "@Informatic", "@Professional", "@Education", "@Job", "@IDCard", "@IDCardDate", "@IDCardPlace", "@Health", "@Height", "@Weight", "@Experience", "@InputFileDate", "@Position1", "@Position2", "@ExpectSalary", 
                "@Status", "@PersonName", "@PersonPhone", "@PersonAddress", "@PersonJob", "@Description"
             };
            object[] myValues = new object[] { 
                CandidateCode, RecruitmentCode, FirstName, LastName, Marriage, Sex, Birthday, BirthPlace, MainAddress, ContactAddress, CellPhone, HomePhone, Email, Nationality, Ethnic, Religion, 
                Language, Informatic, Professional, Education, Job, IDCard, IDCardDate, IDCardPlace, Health, Height, Weight, Experience, InputFileDate, Position1, Position2, ExpectSalary, 
                Status, PersonName, PersonPhone, PersonAddress, PersonJob, Description
             };
            SqlHelper helper = new SqlHelper();
            return helper.ExecuteNonQuery(myTransaction, "HRM_Candidate_Insert", myParams, myValues);
        }

        public string NewID()
        {
            clsDocumentNumberOption option = new clsDocumentNumberOption("CandidateCode", "UV", "");
            return option.GenCode("HRM_CANDIDATE", "CandidateCode");
        }

        public void SetData(string CandidateCode, string RecruitmentCode, string FirstName, string LastName, string Marriage, bool Sex, DateTime Birthday, string BirthPlace, string MainAddress, string ContactAddress, string CellPhone, string HomePhone, string Email, string Nationality, string Ethnic, string Religion, string Language, string Informatic, string Professional, string Education, string Job, string IDCard, DateTime IDCardDate, string IDCardPlace, string Health, double Height, double Weight, string Experience, DateTime InputFileDate, string Position1, string Position2, decimal ExpectSalary, int Status, string PersonName, string PersonPhone, string PersonAddress, string PersonJob, string Description)
        {
            this.m_CandidateCode = CandidateCode;
            this.m_RecruitmentCode = RecruitmentCode;
            this.m_FirstName = FirstName;
            this.m_LastName = LastName;
            this.m_Marriage = Marriage;
            this.m_Sex = Sex;
            this.m_Birthday = Birthday;
            this.m_BirthPlace = BirthPlace;
            this.m_MainAddress = MainAddress;
            this.m_ContactAddress = ContactAddress;
            this.m_CellPhone = CellPhone;
            this.m_HomePhone = HomePhone;
            this.m_Email = Email;
            this.m_Nationality = Nationality;
            this.m_Ethnic = Ethnic;
            this.m_Religion = Religion;
            this.m_Language = Language;
            this.m_Informatic = Informatic;
            this.m_Professional = Professional;
            this.m_Education = Education;
            this.m_Job = Job;
            this.m_IDCard = IDCard;
            this.m_IDCardDate = IDCardDate;
            this.m_IDCardPlace = IDCardPlace;
            this.m_Health = Health;
            this.m_Height = Height;
            this.m_Weight = Weight;
            this.m_Experience = Experience;
            this.m_InputFileDate = InputFileDate;
            this.m_Position1 = Position1;
            this.m_Position2 = Position2;
            this.m_ExpectSalary = ExpectSalary;
            this.m_Status = Status;
            this.m_PersonName = PersonName;
            this.m_PersonPhone = PersonPhone;
            this.m_PersonAddress = PersonAddress;
            this.m_PersonJob = PersonJob;
            this.m_Description = Description;
        }

        public string Update()
        {
            string[] myParams = new string[] { 
                "@CandidateCode", "@RecruitmentCode", "@FirstName", "@LastName", "@Marriage", "@Sex", "@Birthday", "@BirthPlace", "@MainAddress", "@ContactAddress", "@CellPhone", "@HomePhone", "@Email", "@Nationality", "@Ethnic", "@Religion", 
                "@Language", "@Informatic", "@Professional", "@Education", "@Job", "@IDCard", "@IDCardDate", "@IDCardPlace", "@Health", "@Height", "@Weight", "@Experience", "@InputFileDate", "@Position1", "@Position2", "@ExpectSalary", 
                "@Status", "@PersonName", "@PersonPhone", "@PersonAddress", "@PersonJob", "@Description"
             };
            object[] myValues = new object[] { 
                this.m_CandidateCode, this.m_RecruitmentCode, this.m_FirstName, this.m_LastName, this.m_Marriage, this.m_Sex, this.m_Birthday, this.m_BirthPlace, this.m_MainAddress, this.m_ContactAddress, this.m_CellPhone, this.m_HomePhone, this.m_Email, this.m_Nationality, this.m_Ethnic, this.m_Religion, 
                this.m_Language, this.m_Informatic, this.m_Professional, this.m_Education, this.m_Job, this.m_IDCard, this.m_IDCardDate, this.m_IDCardPlace, this.m_Health, this.m_Height, this.m_Weight, this.m_Experience, this.m_InputFileDate, this.m_Position1, this.m_Position2, this.m_ExpectSalary, 
                this.m_Status, this.m_PersonName, this.m_PersonPhone, this.m_PersonAddress, this.m_PersonJob, this.m_Description
             };
            SqlHelper helper = new SqlHelper();
            return helper.ExecuteNonQuery("HRM_Candidate_Update", myParams, myValues);
        }

        public string Update(SqlTransaction myTransaction)
        {
            string[] myParams = new string[] { 
                "@CandidateCode", "@RecruitmentCode", "@FirstName", "@LastName", "@Marriage", "@Sex", "@Birthday", "@BirthPlace", "@MainAddress", "@ContactAddress", "@CellPhone", "@HomePhone", "@Email", "@Nationality", "@Ethnic", "@Religion", 
                "@Language", "@Informatic", "@Professional", "@Education", "@Job", "@IDCard", "@IDCardDate", "@IDCardPlace", "@Health", "@Height", "@Weight", "@Experience", "@InputFileDate", "@Position1", "@Position2", "@ExpectSalary", 
                "@Status", "@PersonName", "@PersonPhone", "@PersonAddress", "@PersonJob", "@Description"
             };
            object[] myValues = new object[] { 
                this.m_CandidateCode, this.m_RecruitmentCode, this.m_FirstName, this.m_LastName, this.m_Marriage, this.m_Sex, this.m_Birthday, this.m_BirthPlace, this.m_MainAddress, this.m_ContactAddress, this.m_CellPhone, this.m_HomePhone, this.m_Email, this.m_Nationality, this.m_Ethnic, this.m_Religion, 
                this.m_Language, this.m_Informatic, this.m_Professional, this.m_Education, this.m_Job, this.m_IDCard, this.m_IDCardDate, this.m_IDCardPlace, this.m_Health, this.m_Height, this.m_Weight, this.m_Experience, this.m_InputFileDate, this.m_Position1, this.m_Position2, this.m_ExpectSalary, 
                this.m_Status, this.m_PersonName, this.m_PersonPhone, this.m_PersonAddress, this.m_PersonJob, this.m_Description
             };
            SqlHelper helper = new SqlHelper();
            return helper.ExecuteNonQuery(myTransaction, "HRM_Candidate_Update", myParams, myValues);
        }

        public string Update(string CandidateCode, Image photo)
        {
            byte[] buffer;
            SqlHelper helper = new SqlHelper {
                CommandType = CommandType.Text
            };
            helper.Error += new SqlHelper.ErrorEventHander(this.DispError);
            if (photo != null)
            {
                MemoryStream stream = new MemoryStream();
                photo.Save(stream, photo.RawFormat);
                buffer = stream.GetBuffer();
                stream.Close();
            }
            else
            {
                buffer = new byte[2];
            }
            string[] myParams = new string[] { "@CandidateCode", "@Photo" };
            object[] myValues = new object[] { CandidateCode, buffer };
            return helper.ExecuteNonQuery("Update HRM_CANDIDATE set Photo=@Photo WHERE CandidateCode=@CandidateCode", myParams, myValues);
        }

        public string Update(string CandidateCode, string RecruitmentCode, string FirstName, string LastName, string Marriage, bool Sex, DateTime Birthday, string BirthPlace, string MainAddress, string ContactAddress, string CellPhone, string HomePhone, string Email, string Nationality, string Ethnic, string Religion, string Language, string Informatic, string Professional, string Education, string Job, string IDCard, DateTime IDCardDate, string IDCardPlace, string Health, double Height, double Weight, string Experience, DateTime InputFileDate, string Position1, string Position2, decimal ExpectSalary, int Status, string PersonName, string PersonPhone, string PersonAddress, string PersonJob, string Description)
        {
            string[] myParams = new string[] { 
                "@CandidateCode", "@RecruitmentCode", "@FirstName", "@LastName", "@Marriage", "@Sex", "@Birthday", "@BirthPlace", "@MainAddress", "@ContactAddress", "@CellPhone", "@HomePhone", "@Email", "@Nationality", "@Ethnic", "@Religion", 
                "@Language", "@Informatic", "@Professional", "@Education", "@Job", "@IDCard", "@IDCardDate", "@IDCardPlace", "@Health", "@Height", "@Weight", "@Experience", "@InputFileDate", "@Position1", "@Position2", "@ExpectSalary", 
                "@Status", "@PersonName", "@PersonPhone", "@PersonAddress", "@PersonJob", "@Description"
             };
            object[] myValues = new object[] { 
                CandidateCode, RecruitmentCode, FirstName, LastName, Marriage, Sex, Birthday, BirthPlace, MainAddress, ContactAddress, CellPhone, HomePhone, Email, Nationality, Ethnic, Religion, 
                Language, Informatic, Professional, Education, Job, IDCard, IDCardDate, IDCardPlace, Health, Height, Weight, Experience, InputFileDate, Position1, Position2, ExpectSalary, 
                Status, PersonName, PersonPhone, PersonAddress, PersonJob, Description
             };
            SqlHelper helper = new SqlHelper();
            return helper.ExecuteNonQuery("HRM_Candidate_Update", myParams, myValues);
        }

        public string Update(SqlConnection myConnection, string CandidateCode, string RecruitmentCode, string FirstName, string LastName, string Marriage, bool Sex, DateTime Birthday, string BirthPlace, string MainAddress, string ContactAddress, string CellPhone, string HomePhone, string Email, string Nationality, string Ethnic, string Religion, string Language, string Informatic, string Professional, string Education, string Job, string IDCard, DateTime IDCardDate, string IDCardPlace, string Health, double Height, double Weight, string Experience, DateTime InputFileDate, string Position1, string Position2, decimal ExpectSalary, int Status, string PersonName, string PersonPhone, string PersonAddress, string PersonJob, string Description)
        {
            string[] myParams = new string[] { 
                "@CandidateCode", "@RecruitmentCode", "@FirstName", "@LastName", "@Marriage", "@Sex", "@Birthday", "@BirthPlace", "@MainAddress", "@ContactAddress", "@CellPhone", "@HomePhone", "@Email", "@Nationality", "@Ethnic", "@Religion", 
                "@Language", "@Informatic", "@Professional", "@Education", "@Job", "@IDCard", "@IDCardDate", "@IDCardPlace", "@Health", "@Height", "@Weight", "@Experience", "@InputFileDate", "@Position1", "@Position2", "@ExpectSalary", 
                "@Status", "@PersonName", "@PersonPhone", "@PersonAddress", "@PersonJob", "@Description"
             };
            object[] myValues = new object[] { 
                CandidateCode, RecruitmentCode, FirstName, LastName, Marriage, Sex, Birthday, BirthPlace, MainAddress, ContactAddress, CellPhone, HomePhone, Email, Nationality, Ethnic, Religion, 
                Language, Informatic, Professional, Education, Job, IDCard, IDCardDate, IDCardPlace, Health, Height, Weight, Experience, InputFileDate, Position1, Position2, ExpectSalary, 
                Status, PersonName, PersonPhone, PersonAddress, PersonJob, Description
             };
            SqlHelper helper = new SqlHelper();
            return helper.ExecuteNonQuery(myConnection, "HRM_Candidate_Update", myParams, myValues);
        }

        public string Update(SqlTransaction myTransaction, string CandidateCode, string RecruitmentCode, string FirstName, string LastName, string Marriage, bool Sex, DateTime Birthday, string BirthPlace, string MainAddress, string ContactAddress, string CellPhone, string HomePhone, string Email, string Nationality, string Ethnic, string Religion, string Language, string Informatic, string Professional, string Education, string Job, string IDCard, DateTime IDCardDate, string IDCardPlace, string Health, double Height, double Weight, string Experience, DateTime InputFileDate, string Position1, string Position2, decimal ExpectSalary, int Status, string PersonName, string PersonPhone, string PersonAddress, string PersonJob, string Description)
        {
            string[] myParams = new string[] { 
                "@CandidateCode", "@RecruitmentCode", "@FirstName", "@LastName", "@Marriage", "@Sex", "@Birthday", "@BirthPlace", "@MainAddress", "@ContactAddress", "@CellPhone", "@HomePhone", "@Email", "@Nationality", "@Ethnic", "@Religion", 
                "@Language", "@Informatic", "@Professional", "@Education", "@Job", "@IDCard", "@IDCardDate", "@IDCardPlace", "@Health", "@Height", "@Weight", "@Experience", "@InputFileDate", "@Position1", "@Position2", "@ExpectSalary", 
                "@Status", "@PersonName", "@PersonPhone", "@PersonAddress", "@PersonJob", "@Description"
             };
            object[] myValues = new object[] { 
                CandidateCode, RecruitmentCode, FirstName, LastName, Marriage, Sex, Birthday, BirthPlace, MainAddress, ContactAddress, CellPhone, HomePhone, Email, Nationality, Ethnic, Religion, 
                Language, Informatic, Professional, Education, Job, IDCard, IDCardDate, IDCardPlace, Health, Height, Weight, Experience, InputFileDate, Position1, Position2, ExpectSalary, 
                Status, PersonName, PersonPhone, PersonAddress, PersonJob, Description
             };
            SqlHelper helper = new SqlHelper();
            return helper.ExecuteNonQuery(myTransaction, "HRM_Candidate_Update", myParams, myValues);
        }

        public string UpdateStatus(string CandidateCode, int Status)
        {
            string[] myParams = new string[] { "@CandidateCode", "@Status" };
            object[] myValues = new object[] { CandidateCode, Status };
            SqlHelper helper = new SqlHelper();
            return helper.ExecuteNonQuery("HRM_Candidate_UpdateStatus", myParams, myValues);
        }

        [Category("Column"), DisplayName("Birthday")]
        public DateTime Birthday
        {
            get
            {
                return this.m_Birthday;
            }
            set
            {
                this.m_Birthday = value;
            }
        }

        [Category("Column"), DisplayName("BirthPlace")]
        public string BirthPlace
        {
            get
            {
                return this.m_BirthPlace;
            }
            set
            {
                this.m_BirthPlace = value;
            }
        }

        [Category("Primary Key"), DisplayName("CandidateCode")]
        public string CandidateCode
        {
            get
            {
                return this.m_CandidateCode;
            }
            set
            {
                this.m_CandidateCode = value;
            }
        }

        [DisplayName("CellPhone"), Category("Column")]
        public string CellPhone
        {
            get
            {
                return this.m_CellPhone;
            }
            set
            {
                this.m_CellPhone = value;
            }
        }

        [DisplayName("ContactAddress"), Category("Column")]
        public string ContactAddress
        {
            get
            {
                return this.m_ContactAddress;
            }
            set
            {
                this.m_ContactAddress = value;
            }
        }

        [DisplayName("Description"), Category("Column")]
        public string Description
        {
            get
            {
                return this.m_Description;
            }
            set
            {
                this.m_Description = value;
            }
        }

        [Category("Column"), DisplayName("Education")]
        public string Education
        {
            get
            {
                return this.m_Education;
            }
            set
            {
                this.m_Education = value;
            }
        }

        [Category("Column"), DisplayName("Email")]
        public string Email
        {
            get
            {
                return this.m_Email;
            }
            set
            {
                this.m_Email = value;
            }
        }

        [DisplayName("Ethnic"), Category("Column")]
        public string Ethnic
        {
            get
            {
                return this.m_Ethnic;
            }
            set
            {
                this.m_Ethnic = value;
            }
        }

        [DisplayName("ExpectSalary"), Category("Column")]
        public decimal ExpectSalary
        {
            get
            {
                return this.m_ExpectSalary;
            }
            set
            {
                this.m_ExpectSalary = value;
            }
        }

        [DisplayName("Experience"), Category("Column")]
        public string Experience
        {
            get
            {
                return this.m_Experience;
            }
            set
            {
                this.m_Experience = value;
            }
        }

        [Category("Column"), DisplayName("FirstName")]
        public string FirstName
        {
            get
            {
                return this.m_FirstName;
            }
            set
            {
                this.m_FirstName = value;
            }
        }

        [DisplayName("Health"), Category("Column")]
        public string Health
        {
            get
            {
                return this.m_Health;
            }
            set
            {
                this.m_Health = value;
            }
        }

        [DisplayName("Height"), Category("Column")]
        public double Height
        {
            get
            {
                return this.m_Height;
            }
            set
            {
                this.m_Height = value;
            }
        }

        [Category("Column"), DisplayName("HomePhone")]
        public string HomePhone
        {
            get
            {
                return this.m_HomePhone;
            }
            set
            {
                this.m_HomePhone = value;
            }
        }

        [DisplayName("IDCard"), Category("Column")]
        public string IDCard
        {
            get
            {
                return this.m_IDCard;
            }
            set
            {
                this.m_IDCard = value;
            }
        }

        [Category("Column"), DisplayName("IDCardDate")]
        public DateTime IDCardDate
        {
            get
            {
                return this.m_IDCardDate;
            }
            set
            {
                this.m_IDCardDate = value;
            }
        }

        [DisplayName("IDCardPlace"), Category("Column")]
        public string IDCardPlace
        {
            get
            {
                return this.m_IDCardPlace;
            }
            set
            {
                this.m_IDCardPlace = value;
            }
        }

        [DisplayName("Informatic"), Category("Column")]
        public string Informatic
        {
            get
            {
                return this.m_Informatic;
            }
            set
            {
                this.m_Informatic = value;
            }
        }

        [DisplayName("InputFileDate"), Category("Column")]
        public DateTime InputFileDate
        {
            get
            {
                return this.m_InputFileDate;
            }
            set
            {
                this.m_InputFileDate = value;
            }
        }

        [Category("Column"), DisplayName("Job")]
        public string Job
        {
            get
            {
                return this.m_Job;
            }
            set
            {
                this.m_Job = value;
            }
        }

        [DisplayName("Language"), Category("Column")]
        public string Language
        {
            get
            {
                return this.m_Language;
            }
            set
            {
                this.m_Language = value;
            }
        }

        [DisplayName("LastName"), Category("Column")]
        public string LastName
        {
            get
            {
                return this.m_LastName;
            }
            set
            {
                this.m_LastName = value;
            }
        }

        [Category("Column"), DisplayName("MainAddress")]
        public string MainAddress
        {
            get
            {
                return this.m_MainAddress;
            }
            set
            {
                this.m_MainAddress = value;
            }
        }

        [DisplayName("Marriage"), Category("Column")]
        public string Marriage
        {
            get
            {
                return this.m_Marriage;
            }
            set
            {
                this.m_Marriage = value;
            }
        }

        [DisplayName("Nationality"), Category("Column")]
        public string Nationality
        {
            get
            {
                return this.m_Nationality;
            }
            set
            {
                this.m_Nationality = value;
            }
        }

        [Category("Column"), DisplayName("PersonAddress")]
        public string PersonAddress
        {
            get
            {
                return this.m_PersonAddress;
            }
            set
            {
                this.m_PersonAddress = value;
            }
        }

        [DisplayName("PersonJob"), Category("Column")]
        public string PersonJob
        {
            get
            {
                return this.m_PersonJob;
            }
            set
            {
                this.m_PersonJob = value;
            }
        }

        [Category("Column"), DisplayName("PersonName")]
        public string PersonName
        {
            get
            {
                return this.m_PersonName;
            }
            set
            {
                this.m_PersonName = value;
            }
        }

        [DisplayName("PersonPhone"), Category("Column")]
        public string PersonPhone
        {
            get
            {
                return this.m_PersonPhone;
            }
            set
            {
                this.m_PersonPhone = value;
            }
        }

        [DisplayName("Photo"), Category("Column")]
        public Image Photo
        {
            get
            {
                return this.m_Photo;
            }
            set
            {
                this.m_Photo = value;
            }
        }

        [DisplayName("Position1"), Category("Column")]
        public string Position1
        {
            get
            {
                return this.m_Position1;
            }
            set
            {
                this.m_Position1 = value;
            }
        }

        [Category("Column"), DisplayName("Position2")]
        public string Position2
        {
            get
            {
                return this.m_Position2;
            }
            set
            {
                this.m_Position2 = value;
            }
        }

        public string ProductName
        {
            get
            {
                return "Class HRM_CANDIDATE";
            }
        }

        public string ProductVersion
        {
            get
            {
                return "1.0.0.0";
            }
        }

        [Category("Column"), DisplayName("Professional")]
        public string Professional
        {
            get
            {
                return this.m_Professional;
            }
            set
            {
                this.m_Professional = value;
            }
        }

        [Category("Column"), DisplayName("RecruitmentCode")]
        public string RecruitmentCode
        {
            get
            {
                return this.m_RecruitmentCode;
            }
            set
            {
                this.m_RecruitmentCode = value;
            }
        }

        [Category("Column"), DisplayName("Religion")]
        public string Religion
        {
            get
            {
                return this.m_Religion;
            }
            set
            {
                this.m_Religion = value;
            }
        }

        [DisplayName("Sex"), Category("Column")]
        public bool Sex
        {
            get
            {
                return this.m_Sex;
            }
            set
            {
                this.m_Sex = value;
            }
        }

        [DisplayName("Status"), Category("Column")]
        public int Status
        {
            get
            {
                return this.m_Status;
            }
            set
            {
                this.m_Status = value;
            }
        }

        [Category("Column"), DisplayName("Weight")]
        public double Weight
        {
            get
            {
                return this.m_Weight;
            }
            set
            {
                this.m_Weight = value;
            }
        }
    }
}

